Method of Automatically Controlling a Motorized Window Treatment While Minimizing Occupant Distractions

ABSTRACT

A load control system provides for automatically controlling a position of a motorized window treatment to control the amount of sunlight entering a space of a building through a window located in a façade of the building in order to control a sunlight penetration distance within the space and minimize occupant distractions. The load control system automatically generates a timeclock schedule having a number of timeclock events for controlling the position of the motorized window treatment during the present day. A user is able to select a desired maximum sunlight penetration distance for the space and a minimum time period that may occur between any two consecutive timeclock events. In addition, a maximum number of movements that may occur during the timeclock schedule may also be entered. The load control system uses these inputs to determine event times and corresponding positions of the motorized window treatment for each timeclock event of the timeclock schedule.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority from commonly-assigned U.S. ProvisionalPatent Application No. 61/100,162, filed Sep. 25, 2008, and U.S.Provisional Patent Application No. 61/232,948, filed Aug. 11, 2009, bothentitled METHOD OF AUTOMATICALLY CONTROLLING A MOTORIZED WINDOWTREATMENT WHILE MINIMIZING OCCUPANT DISTRACTIONS. The entire disclosuresof both applications are hereby incorporated by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a load control system for controlling aplurality of electrical loads and a plurality of motorized windowtreatments in a space, and more particularly, to a procedure forautomatically controlling one or more motorized window treatments toprevent direct sun glare on work spaces in the space while minimizingoccupant distractions.

2. Description of the Related Art

Motorized window treatments, such as, for example, motorized rollershades and draperies, provide for control of the amount of sunlightentering a space. Some prior art motorized window treatments have beenautomatically controlled in response to various inputs, such as daylightsensors and timeclocks. However, the automatic control algorithms ofprior art motorized window treatments have resulted in frequent movementof the motorized window treatments, thus causing many distractions tooccupants of the space. Thus, there exists a need for a simple method ofautomatically controlling one or more motorized window treatments whileminimizing occupant distractions.

SUMMARY OF THE INVENTION

According to an embodiment of the present invention, a method ofautomatically controlling a position of a motorized window treatment tocontrol the amount of sunlight entering a space of a building through awindow located in a façade of the building allows for control of asunlight penetration distance within the space, while minimizingoccupant distractions. The position of the window treatment iscontrollable between an open-limit position and a closed-limit positionto control the sunlight penetration distance within the space. Themethod comprises the steps of: (1) receiving a desired maximum sunlightpenetration distance for the space; (2) building a timeclock schedulehaving a start time and an end time, the timeclock schedule including anumber of timeclock events that will occur between the start time andthe end time; (3) receiving a minimum time period that may occur betweenany two consecutive timeclock events; (4) determining, for each of thetimeclock events, an event time between the start time and the end time,such that at least the minimum time period exists between the eventtimes of any two consecutive timeclock events; (5) determining arespective event position for each of the timeclock events to which themotorized window treatment will be controlled at the respective eventtime, such that the sunlight penetration distance does not exceed thedesired maximum sunlight penetration distance for all of the eventsbetween the start time and the end time of the timeclock schedule; and(6) automatically controlling the motorized window treatment accordingto the timeclock schedule by adjusting the position of the motorizedwindow treatment to the respective position of each of the timeclockevents at the respective event time.

According to another embodiment of the present invention, the method mayadditionally comprise the steps of receiving a maximum number ofmovements that may occur during the timeclock schedule, and determining,for each of the timeclock events, an event time between the start timeand the end time, such that the number of timeclock events of thetimeclock schedule does not exceed the maximum number of movements, andat least the minimum time period exists between the event times of anytwo consecutive timeclock events.

According to another embodiment of the present invention, a method ofautomatically controlling a position of a motorized window treatmentwhile minimizing occupant distractions comprises the steps of: (1)receiving a desired maximum sunlight penetration distance for the space;(2) receiving a minimum time period that may occur between any twoconsecutive window treatment movements; (3) calculating a controlledposition to which the motorized window treatment should be controlledduring each of a plurality of consecutive time intervals, such that thesunlight penetration distance does not exceed the desired maximumsunlight penetration distance during each of the respective timeintervals, the time intervals having lengths greater than or equal tothe minimum time period that may occur between any two consecutivewindow treatment movements; and (4) automatically adjusting the positionof the motorized window treatment to the calculated position at thebeginning of each time interval, such that the sunlight penetrationdistance does not exceed the desired maximum sunlight penetrationdistance during each of the respective time intervals, and the movementsof the shades are spaced apart by at least the minimum time period thatmay occur between any two consecutive window treatment movements.

In addition, a load control system comprising a motorized windowtreatment adapted to control the amount of sunlight entering a space ofa building through a window located in a façade of the building is alsodescribed herein. The position of the window treatment is controllablebetween an open-limit position and a closed-limit position to control asunlight penetration distance within the space. The load control systemcomprises a central controller operatively coupled to the motorizedwindow treatment and operable to transmit digital commands to themotorized window treatment. The controller receives a desired maximumsunlight penetration distance and a minimum time period that may occurbetween any two consecutive window treatment movements, and calculates acontrolled position to which the motorized window treatment should becontrolled during each of a plurality of consecutive time intervals,such that the sunlight penetration distance does not exceed the desiredmaximum sunlight penetration distance during each of the respective timeintervals. The time intervals have lengths greater than or equal to theminimum time period that may occur between any two consecutive windowtreatment movements. The controller automatically adjusts the positionof the motorized window treatment to the calculated position at thebeginning of each time interval, such that the sunlight penetrationdistance does not exceed the desired maximum sunlight penetrationdistance during each of the respective time intervals, and the movementsof the shades are spaced apart by at least the minimum time period thatmay occur between any two consecutive window treatment movements.

According to another aspect of the present invention, a method ofautomatically controlling a position of a motorized window treatmentminimizes occupant distractions by only adjusting the position of themotorized window treatment twice in a 24-hour period. The motorizedwindow treatment is adapted to control the amount of sunlight entering aspace of a building through a window located in a façade of thebuilding. The position of the window treatment is controllable between afully-open position and a fully-closed position to control a sunlightpenetration distance within the space. The method comprising the stepsof: (1) receiving a desired maximum sunlight penetration distance; (2)determining a first time at which to open the motorized window treatmentduring the 24-hour period and a second time at which to close themotorized window treatment during the 24-hour period, such the sunlightpenetration distance does not exceed the desired maximum sunlightpenetration distance; (3) automatically opening the window treatment atthe first time; and (4) automatically closing the window treatment atthe second time.

Other features and advantages of the present invention will becomeapparent from the following description of the invention that refers tothe accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be described in greater detail in the followingdetailed description with reference to the drawings in which:

FIG. 1 is a simplified block diagram of a load control system havingboth load control devices and motorized roller shades;

FIG. 2 is a simplified side view of an example of a space of a buildinghaving a window covered by one of the motorized roller shades of theload control system of FIG. 1;

FIG. 3A is a side view of the window of FIG. 2 illustrating a sunlightpenetration depth;

FIG. 3B is a top view of the window of FIG. 2 when the sun is directlyincident upon the window;

FIG. 3C is a top view of the window of FIG. 2 when the sun is notdirectly incident upon the window;

FIG. 4 is a high-level diagram illustrating a simple example of theoperation of the motorized roller shades of the load control system ofFIG. 1 between sunrise and sunset;

FIG. 5 is a simplified flowchart of a timeclock configuration procedureexecuted periodically by a central controller of the load control systemof FIG. 1 according to a first embodiment of the present invention;

FIG. 6 is a simplified flowchart of a timeclock execution procedureexecuted periodically by the central controller of the load controlsystem of FIG. 1 according to the first embodiment of the presentinvention;

FIG. 7 is a simplified flowchart of a timeclock configuration procedureexecuted periodically by the central controller of the load controlsystem of FIG. 1 according to a second embodiment of the presentinvention;

FIG. 8 is a simplified flowchart of an optimal shade position procedureexecuted by the central controller of the load control system of FIG. 1according to the second embodiment of the present invention;

FIGS. 9A-9C show example plots of optimal shade positions of themotorized roller shades of the load control system of FIG. 1 ondifferent facades of the building during different days of the yearaccording to the second embodiment of the present invention;

FIG. 10 is a simplified flowchart of a timeclock event creationprocedure executed by the central controller of the load control systemof FIG. 1 according to the second embodiment of the present invention;

FIGS. 11A-11C show example plots of controlled shade positions of themotorized roller shades of the load control system of FIG. 1 ondifferent facades of the building during different days of the yearaccording to the second embodiment of the present invention;

FIG. 12 is a simplified flowchart of a timeclock schedule executionprocedure executed by the central controller of the load control systemof FIG. 1 according to the second embodiment of the present invention;

FIG. 13 is an example front view of the shade override wallstation ofthe load control system of FIG. 1;

FIG. 14 is a simplified flowchart of a received command procedureexecuted by the central controller of the load control system of FIG. 1in response to receiving a digital message from the shade overridewallstation of FIG. 13;

FIG. 15 is a simplified flowchart of a timeclock configuration procedureexecuted periodically by the central controller of the load controlsystem of FIG. 1 according to a third embodiment of the presentinvention;

FIGS. 16A-16C are simplified flowcharts of a timeclock eventoptimization procedure executed by the central controller of the loadcontrol system of FIG. 1 according to the third embodiment of thepresent invention;

FIG. 17 is a simplified flowchart of the timeclock event optimizationprocedure executed by the central controller of the load control systemof FIG. 1 according to the third embodiment of the present invention;

FIGS. 18A-18C show example plots of controlled shade positions of themotorized roller shades of the load control system of FIG. 1 ondifferent facades of the building during different days of the yearaccording to the third embodiment of the present invention;

FIG. 19 is a simplified flowchart of a shade control procedure executedby the central controller of the load control system of FIG. 1 accordingto a fourth embodiment of the present invention; and

FIG. 20 is a simplified flowchart of a position calculation procedureexecuted by the central controller of the load control system of FIG. 1according to the fourth embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The foregoing summary, as well as the following detailed description ofthe preferred embodiments, is better understood when read in conjunctionwith the appended drawings. For the purposes of illustrating theinvention, there is shown in the drawings an embodiment that ispresently preferred, in which like numerals represent similar partsthroughout the several views of the drawings, it being understood,however, that the invention is not limited to the specific methods andinstrumentalities disclosed.

FIG. 1 is a simplified block diagram of a load control system 100according to the present invention. The load control system 100 isoperable to control the level of illumination in a space by controllingthe intensity level of the electrical lights in the space and thedaylight entering the space. As shown in FIG. 1, the load control system100 is operable to control the amount of power delivered to (and thusthe intensity of) a plurality of lighting loads, e.g., a plurality offluorescent lamps 102. The load control system 100 is further operableto control the position of a plurality of motorized window treatments,e.g., motorized roller shades 104, to control the amount of sunlightentering the space. The motorized window treatments could alternativelycomprise motorized draperies, blinds, or roman shades.

Each of the fluorescent lamps 102 is coupled to one of a plurality ofdigital electronic dimming ballasts 110 for control of the intensitiesof the lamps. The ballasts 110 are operable to communicate with eachother via digital ballast communication links 112. For example, thedigital ballast communication link 112 may comprise a digitaladdressable lighting interface (DALI) communication link. Each digitalballast communication link 112 is also coupled to a digital ballastcontroller (DBC) 114, which provides the necessary direct-current (DC)voltage to power the communication link 112 and assists in theprogramming of the load control system 100. The ballasts 110 areoperable to transmit digital messages to the other ballasts 110 via thedigital ballast communication link 112.

Each of the motorized roller shades 104 comprises an electronic driveunit (EDU) 130. For example, each electronic drive unit 130 may belocated inside a roller tube of the associated roller shade 104. Theelectronic drive units 130 are responsive to digital messages receivedfrom a wallstation 134 via a shade communication link 132. The user isoperable to use the wallstation 134 to open or close the motorizedroller shades 104, adjust the position of a shade fabric 170 (FIG. 2) ofthe roller shades, or set the roller shades to preset shade positionsbetween an open-limit position (e.g., a fully-open position P_(FO)) anda closed-limit position (e.g., a fully-closed position P_(FC)). The useris also operable to configure the operation of the motorized rollershades 104 using the wallstations 134. A shade controller (SC) 136 iscoupled to the shade communication link 132. An example of a motorizedwindow treatment control system is described in greater detail incommonly-assigned U.S. Pat. No. 6,983,783, issued Jun. 11, 2006,entitled MOTORIZED SHADE CONTROL SYSTEM, the entire disclosure of whichis hereby incorporated by reference.

A plurality of lighting hubs 140 act as central controllers for managingthe operation of the load control devices (i.e., the ballasts 110 andthe electronic drive units 130) of the load control system 100. Eachlighting hub 140 is operable to be coupled to at least one of thedigital ballast controllers 114 to allow the lighting hub to communicatewith the ballasts 110 on one of the digital ballast communication links112. Each lighting hub 140 is further operable to be coupled to theshade controller 136 to allow the lighting hub to communicate with theelectronic drive units 130 of the motorized roller shades 104 on one ofthe shade communication links 132. The lighting hubs 140 are furthercoupled to a personal computer (PC) 150 via an Ethernet link 152 and astandard Ethernet switch 154, such that the PC is operable to transmitdigital messages to the ballasts 110 and the electronic drive units 130via the lighting hubs 140. The PC 150 executes a graphical userinterface (GUI) software, which is displayed on a PC screen 156. The GUIsoftware allows the user to configure and monitor the operation of theload control system 100. During configuration of the lighting controlsystem 100, the user is operable to determine how many ballasts 110,digital ballast controllers 114, electronic drive units 130, shadecontrollers 136, and lighting hubs 140 that are connected and activeusing the GUI software. Further, the user may also assign one or more ofthe ballasts 110 to a zone or a group, such that the ballasts 110 in thegroup respond together to, for example, an actuation of a wallstation.

According to the embodiments of the present invention, the lighting hubs140 are operable to transmit digital messages to the motorized rollershades 104 to control the amount of sunlight entering a space 160 of abuilding 162 (FIG. 4) to control a sunlight penetration distance d_(PEN)in the space. Each lighting hub 140 comprises an astronomical timeclockand is able to determine a sunrise time t_(SUNRISE) and a sunset timet_(SUNSET) for each day of the year for a specific location. Thelighting hubs 140 each transmit commands to the electronic drive units130 to automatically control the motorized roller shades 104 in responseto a timeclock schedule. Alternatively, the PC 150 could comprise theastronomical timeclock and could transmit the digital messages to themotorized roller shades 104 to control the sunlight penetration distanced_(PEN) in the space 160.

FIG. 2 is a simplified side view of an example of the space 160illustrating the sunlight penetration distance d_(PEN), which iscontrolled by the motorized roller shades 104. As shown in FIG. 2, thebuilding comprises a façade 164 (e.g., one side of a four-sidedrectangular building) having a window 166 for allowing sunlight to enterthe space. The space 160 also comprises a work surface, e.g., a table168, which has a height h_(WORK). The motorized roller shade 104 ismounted above the window 166 and comprises a roller tube 172 aroundwhich the shade fabric 170 is wrapped. The shade fabric 170 may have ahembar 174 at the lower edge of the shade fabric. The electronic driveunit 130 rotates the roller tube 172 to move the shade fabric 170between the fully-open position P_(FO) (in which the window 166 is notcovered) and the fully-closed position _(PFC) (in which the window 166is fully covered). Further, the electronic drive unit 130 may controlthe position of the shade fabric 170 to one of a plurality of presetpositions between the fully-open position P_(FO) and the fully-closedposition P_(FC).

The sunlight penetration distance d_(PEN) is the distance from thewindow 166 and the façade 164 at which direct sunlight shines into theroom. The sunlight penetration distance d_(PEN) is a function of aheight h_(WIN) of the window 166 and an angle φ_(F) of the façade 164with respect to true north, as well as a solar elevation angle θ_(S) anda solar azimuth angle φ_(S), which define the position of the sun in thesky. The solar elevation angle θ_(S) and the solar azimuth angle φ_(S)are functions of the present date and time, as well as the position(i.e., the longitude and latitude) of the building 162 in which thespace 160 is located. The solar elevation angle θ_(S) is essentially theangle between a line directed towards the sun and a line directedtowards the horizon at the position of the building 162. The solarelevation angle θ_(S) can also be thought of as the angle of incidenceof the sun's rays on a horizontal surface. The solar azimuth angle φ_(S)is the angle formed by the line from the observer to true north and theline from the observer to the sun projected on the ground. When thesolar elevation angle θ_(S) is small (i.e., around sunrise and sunset),small changes in the position of the sun result in relatively largechanges in the magnitude of the sunlight penetration distance d_(PEN).

The sunlight penetration distance d_(PEN) of direct sunlight onto thetable 168 of the space 160 (which is measured normal to the surface ofthe window 166) can be determined by considering a triangle formed bythe length l of the deepest penetrating ray of light (which is parallelto the path of the ray), the difference between the height h_(WIN) ofthe window 166 and the height h_(WORK) of the table 168, and distancebetween the table and the wall of the façade 164 (i.e., the sunlightpenetration distance d_(PEN)) as shown in the side view of the window166 in FIG. 3A, i.e.,

tan(θ_(S))=(h_(WIN)−h_(WORK))/l,   (Equation 1)

where θ_(S) is the solar elevation angle of the sun at a given date andtime for a given location (i.e., longitude and latitude) of the building162.

If the sun is directly incident upon the window 166, a solar azimuthangle φ_(S) and the façade angle φ_(D) (i.e., with respect to truenorth) are equal as shown by the top view of the window 166 in FIG. 3B.Accordingly, the sunlight penetration distance d_(PEN) equals the lengthl of the deepest penetrating ray of light. However, if the façade angleφ_(F) is not equal to the solar azimuth angle φ_(S), the sunlightpenetration distance d_(PEN) is a function of the cosine of thedifference between the façade angle φF and the solar azimuth angleφ_(S), i.e.,

d _(PEN) =l·cos(|φ_(F)−φ_(S)|),   (Equation 2)

as shown by the top view of the window 166 in FIG. 3C.

As previously mentioned, the solar elevation angle θ_(S) and the solarazimuth angle Os define the position of the sun in the sky and arefunctions of the position (i.e., the longitude and latitude) of thebuilding 162 in which the space 160 is located and the present date andtime. The following equations are necessary to approximate the solarelevation angle θ_(S) and the solar azimuth angle φ_(S). The equation oftime defines essentially the difference in a time as given by a sundialand a time as given by a clock. This difference is due to the obliquityof the Earth's axis of rotation. The equation of time can beapproximated by

E=9.87·sin(2B)−7.53·cos(B)−1.5·sin(B),  (Equation 3)

where B=[360°·(N_(DAY)−81)]/364, and N_(DAY) is the present day-numberfor the year (e.g., N_(DAY) equals one for January 1, N_(DAY) equals twofor January 2, and so on).

The solar declination δ is the angle of incidence of the rays of the sunon the equatorial plane of the Earth. If the eccentricity of Earth'sorbit around the sun is ignored and the orbit is assumed to be circular,the solar declination is given by:

δ=23.45°·sin[360°/365·(N_(DAY)+284)].  (Equation 4)

The solar hour angle H is the angle between the meridian plane and theplane formed by the Earth's axis and current location of the sun, i.e.,

H(t)={¼·[t+E−(4·λ)+(60·t _(TZ))]}−180°,  (Equation 5)

where t is the present local time of the day, X is the local longitude,and t_(TZ) is the time zone difference (in unit of hours) between thelocal time t and Greenwich Mean Time (GMT). For example, the time zonedifference t_(TZ) for the Eastern Standard Time (EST) zone is −5. Thetime zone difference t_(TZ) can be determined from the local longitude λand latitude Φ of the building 162. For a given solar hour angle H, thelocal time can be determined by solving Equation 5 for the time t, i.e.,

t=720+4·(H+λ)−(60·t _(TZ))−E.  (Equation 6)

When the solar hour angle H equals zero, the sun is at the highest pointin the sky, which is referred to as “solar noon” time t_(SN), i.e.,

t _(SN)=720+(4·λ)−(60·t _(TZ))−E.  (Equation 7)

A negative solar hour angle H indicates that the sun is east of themeridian plane (i.e., morning), while a positive solar hour angle Hindicates that the sun is west of the meridian plane (i.e., afternoon orevening).

The solar elevation angle O_(S) as a function of the present local timet can be calculated using the equation:

θ_(S)(t)=sin⁻¹[cos(H(t))·cos(δ)·cos(Φ)+sin(δ)·sin(Φ)],  (Equation 8)

wherein Φ is the local latitude. The solar azimuth angle φ_(S) as afunction of the present local time t can be calculated using theequation:

φ_(S)(t)=180°·C(t)·cos⁻¹[X(t)/cos(θ_(S)(t))],  (Equation 9)

where

X(t)=[cos(H(t))·cos(δ)·sin(Φ)−sin(δ)·cos(Φ)],  (Equation 10)

and C(t) equals negative one if the present local time t is less than orequal to the solar noon time t_(SN) or one if the present local time tis greater than the solar noon time t_(SN). The solar azimuth angleφ_(S) can also be expressed in terms independent of the solar elevationangle θ_(S), i.e.,

φ_(S)(t)=tan⁻¹[−sin(H(t))·cos(δ)/Y(t)],  (Equation 11)

where

Y(t)=[sin(δ)·cos(Φ)−cos(δ)·sin(Φ)·cos(H(t))].  (Equation 12)

Thus, the solar elevation angle θ_(S) and the solar azimuth angle φ_(S)are functions of the local longitude λ and latitude Φ and the presentlocal time t and date (i.e., the present day-number N_(DAY)). UsingEquations 1 and 2, the sunlight penetration distance can be expressed interms of the height h_(WIN) of the window 166, the height h_(WORK) ofthe table 168, the solar elevation angle θ_(S), and the solar solarazimuth angle φ_(S).

According to a first embodiment of the present invention, the motorizedroller shades 104 are controlled such that the sunlight penetrationdistance d_(PEN) is limited to less than a desired maximum sunlightpenetration distance d_(MAX) during all times of the day. For example,the sunlight penetration distance d_(PEN) may be limited such that thesunlight does not shine directly on the table 168 to prevent sun glareon the table. The desired maximum sunlight penetration distance d_(MAX)may be entered using the GUI software of the PC 150 and may be stored inmemory in each of the lighting hubs 140. In addition, the user may alsouse the GUI software of the PC 150 to enter and the present date andtime, the present timezone, the local longitude λ and latitude Φ of thebuilding 162, the façade angle φ_(F) for each façade 164 of thebuilding, the height h_(WIN) of the windows 166 in spaces 160 of thebuilding, and the heights h_(WORK) of the workspaces (i.e., tables 168)in the spaces of the building. These operational characteristics (or asubset of these operational characteristics) may also be stored in thememory of each lighting hub 140. Further, the motorized roller shades104 are also controlled such that distractions to an occupant of thespace 160 (i.e., due to movements of the motorized roller shades) areminimized, for example, by only opening and closing each motorizedroller shade once each day resulting in only two movements of the shadeseach day.

FIG. 4 is a high-level diagram illustrating a simple example of theoperation of the motorized roller shades 104 between sunrise and sunsetaccording to the first embodiment of the present invention. In theexample of FIG. 4, the building 162 is located on the equator and thetime of year is the spring equinox. The building includes a firsteastern façade 164A facing east and having a first window 166A and afirst motorized roller shade 104A, and a second western façade 164Bfacing west and having a second window 166B and a second motorizedroller shade 104B. At event one (1), the sun is just rising at 6 a.m.,and positioned at a solar elevation angle θ_(S) of zero (0) degrees inthe eastern sky. At this time of day, the first motorized roller shade104A of the eastern façade 164A is programmed to be fully closed toprevent glare from the direct light of the sun. On the other hand, thesecond motorized roller shade 104B of the western façade 164B isprogrammed to be fully open at event one to allow the maximum amount ofindirect sunlight to illuminate the interior of the building 162.

At event two (2), the time is 9 a.m., and the sun has risen to a solarelevation angle θ_(S) of 45 degrees in the eastern sky. The first andsecond motorized roller shades 104A, 104B have not changed positionsince event one. At event three (3), the time is 11 a.m., and the sunhas risen to a solar elevation angle θ_(S) of 75 degrees in the easternsky. The second motorized roller shade 104B of the western façade 164Bremains in the opened position, while the first motorized roller shade104A of the eastern façade 164A moves to the fully-open position P_(FO)since the sun has risen to a solar elevation angle θ_(S) that no longercreates sun glare on work surfaces in the building 162 (i.e., a solarelevation angle that no longer causes the sunlight penetration distanced_(PEN) to exceed the desired maximum sunlight penetration distanced_(MAX)). During events four (4) and five (5), the first and secondmotorized roller shades 104A, 104B remain opened. At event six (6), thetime is 3 p.m., and the sun has dropped to a solar elevation angle θ_(S)of 45 degrees in the western sky (or 135 degrees with respect to theeastern sky). At this time, the second motorized roller shade 104B ofthe western façade 164B closes to prevent glare at the west side of thebuilding 162. Finally, at event seven (7), which is 6 p.m., the secondmotorized roller shade 104B remains closed, and the first motorizedroller shade 104A is closed to provide additional insulation of thebuilding 162 and to maintain a consistent outward appearance throughoutthe evening.

FIG. 5 is a simplified flowchart of a timeclock configuration procedure200 according to the first embodiment of the present invention. Thetimeclock configuration procedure 200 is executed periodically by eachof the lighting hubs 140 of the load control system 100 to generate atimeclock schedule defining the desired operation of the motorizedroller shades 104 of each of the façades 164 of the building 162. Forexample, the timeclock configuration procedure 200 may be executed byeach of the lighting hubs 140 once each day at midnight to generate anew timeclock schedule for the motorized roller shades 104 connected tothe respective lighting hub via the shade communication link 132. Duringthe timeclock configuration procedure 200, the lighting hub 140 sets anopen time t₁ and a close time t₂ for each of the timeclock schedules,i.e., for each façade 164 of the building 162 on which the motorizedroller shades 104 connected to the lighting hub are located. If the sunis incident on the façade 164 at sunrise, the lighting hub 140 isoperable to determine the open time t₁ to ensure that the sunlightpenetration distance d_(PEN) does not exceed the desired maximumsunlight penetration distance d_(MAX) for the respective façade.Specifically, the lighting hub 140 is operable to calculate the time atwhich the sunlight penetration distance d_(PEN) will fall below thedesired maximum sunlight penetration distance d_(MAX) after sunriseusing Equations 1-12 shown above. If the sun is incident on the façade164 at sunset, the lighting hub 140 is operable to determine the closetime t₂ to ensure that the sunlight penetration distance d_(PEN) doesnot exceed the desired maximum sunlight penetration distance d_(MAX) bycalculating the time at which the sunlight penetration distance d_(PEN)will rise above the desired maximum sunlight penetration distanced_(MAX).

Referring to FIG. 5, the lighting hub 140 first retrieves the sunrisetime t_(SUNRISE) and the sunset time t_(SUNSET) for the present day(i.e., the 24-hour period starting at midnight when the timeclockconfiguration procedure 200 is executed) from the astronomical timeclockat step 210. At step 212, the lighting hub 140 initializes the open timet₁ and the close time t₂ to zero. If the sunlight penetration distanced_(PEN) is greater than the desired maximum sunlight penetrationdistance d_(MAX) for all times between the sunrise time t_(SUNRISE) andthe sunset time t_(SUNSET) at step 214, the lighting hub 140 clears thetime schedule for the present day at step 216, such that the rollershades 104 on that façade 164 will not open and will remain closed forthe entire day.

If the sun will be on the façade 164 at sunrise at step 218 (e.g., if|φ_(F)−φ_(S)|<90° at a time just after sunrise), the lighting hub 140determines the open time t₁ in response to the desired maximum sunlightpenetration distance d_(MAX)using Equations 1-12 at step 220. If the sunwill be on the façade 164 at sunset at step 222 (e.g., |φ_(F)−φ_(S)|<90°at a time just before sunset), the lighting hub 140 determines the closetime t₂ in response to the desired maximum sunlight penetration distanced_(MAX)at step 224. If the open time t₁ is equal to zero at step 226(i.e., the sun will not be on the façade 164 at sunrise), the lightinghub 140 sets the open time t₁ to an arbitrary open time t_(OPEN) (e.g.,7 a.m.) at step 228, such that the roller shades 104 will be open forthe entire day until the close time t₂. If the close time t₂ is equal tozero at step 230 (i.e., the sun will not be on the façade 164 atsunset), the lighting hub 140 sets the close time t₂ to an arbitraryclose time t_(CLOSE) (e.g., 7 p.m.) at step 232, such that the rollershades 104 will be closed for the entire night. If there are timeschedules for more façades 164 of the building 162 that must be updatedat step 234, the timeclock configuration procedure 200 loops around toset the open time t₁ and the close time t₂ for another façade.Otherwise, the timeclock configuration procedure 200 exits.

FIG. 6 is a simplified flowchart of a time schedule execution procedure300 executed periodically, e.g., once every minute, by the lighting hubs140. If the present time t_(PRES) determined from the astronomicaltimeclock is equal to the open time t₁ at step 310, the lighting hub 140transmits a digital command to open the motorized roller shade 104 ofthe present façade 164 at step 312. If the present time t_(PRES) isequal to the close time t₂ at step 314, the lighting hub 140 transmits adigital command to close the motorized roller shade 104 of the presentfaçade 164 at step 316. If there are more façades 164 having timeschedule event times to review at step 318, the procedure 300 loops topotentially open or close the motorized roller shades 104 of anotherfaçade. Otherwise, the procedure 300 exits.

According to a second embodiment of the present invention, the motorizedroller shades 104 are operable to move more than twice each day and maybe controlled to preset positions between the fully-open position P_(FO)and the fully-closed position P_(FC). During a timeclock schedule of thesecond embodiment, the motorized roller shades 104 are controlled to thepreset positions between the fully-open position P_(FO) and thefully-closed position P_(FC), such that the sunlight penetrationdistance d_(PEN) is limited to less than the desired maximum sunlightpenetration distance d_(MAX). In order to minimize distractions of anoccupant in the space 160 due to roller shade movements, the user mayinput a minimum time period T_(MIN) that may exist between any twoconsecutive movements of the motorized roller shades. The minimum timeperiod T_(MIN) that may exist between any two consecutive movements ofthe motorized roller shades and the desired maximum sunlight penetrationdistance d_(MAX)may be entered using the GUI software of the PC 150 andmay be stored in the memory in the lighting hubs 140. The user mayselect different values for the desired maximum sunlight penetrationdistance d_(MAX) and the minimum time period T_(MIN) between shademovements for different areas and different groups of motorized rollershades 104 in the building 162. In other words, a different timeclockschedule may be executed for the different areas and different groups ofmotorized roller shades 104 in the building 162 (i.e., the differentfaçades 164 of the building).

FIG. 7 is a simplified flowchart of a timeclock configuration procedure400 executed periodically by the lighting hub 140 of the load controlsystem 100 to generate a timeclock schedule defining the desiredoperation of the motorized roller shades 104 of each of the façades 164of the building 162 according to the second embodiment of the presentinvention. For example, the timeclock configuration procedure 400 may beexecuted once each day at midnight to generate a new timeclock schedulefor one or more areas in the building 162. The timeclock schedule isexecuted between a start time t_(START) and an end time t_(END) of thepresent day. During the timeclock configuration procedure 400, thelighting hub 140 first performs an optimal shade position procedure 500for determining optimal shade positions P_(OPT)(t) of the motorizedroller shades 104 in response to the desired maximum sunlightpenetration distance d_(MAX)for each minute between the start timet_(START) and the end time t_(END) of the present day. The lighting hub140 then executes a timeclock event creation procedure 600 to generatethe events of the timeclock schedule in response to the optimal shadepositions P_(OPT)(t) and the user-selected minimum time period T_(MIN)between shade movements.

According to the second embodiment of the present invention, thetimeclock schedule is split up into a number of consecutive timeintervals, each having a length equal to the minimum time period T_(MIN)between shade movements. The lighting hub 140 considers each timeinterval and determines a position to which the motorized roller shades104 should be controlled in order to prevent the sunlight penetrationdistance d_(PEN) from exceeding the desired maximum sunlight penetrationdistance d_(MAX)during the respective time interval. The lighting hub140 creates events in the timeclock schedule, each having an event timeequal to beginning of respective time interval and a correspondingposition equal to the determined position to which the motorized rollershades 104 should be controlled in order to prevent the sunlightpenetration distance d_(PEN) from exceeding the desired maximum sunlightpenetration distance d_(MAX). However, the lighting hub 140 will notcreate a timeclock event when the determined position of a specific timeinterval is equal to the determined position of a preceding timeinterval (as will be described in greater detail below). Therefore, theevent times of the timeclock schedule are spaced apart by multiples ofthe user-specified minimum time period T_(MIN) between shade movements.

FIG. 8 is a simplified flowchart of the optimal shade position procedure500, which is executed by the lighting hub 140 to generate the optimalshade positions P_(OPT)(t) for each minute between the start timet_(START) and the end time t_(END) of the timeclock schedule such thatthe sunlight penetration distance d_(PEN) will not exceed the desiredmaximum sunlight penetration distance d_(MAX). The lighting hub 140first retrieves the start time t_(START) and the end time t_(END) of thetimeclock schedule for the present day at step 510. For example, thelighting hub 140 could use the astronomical timeclock to set the starttime t_(START) equal to the sunrise time t_(SUNRISE) for the presentday, and the end time t_(END) equal to the sunset time t_(SUNSET) forthe present day. Alternatively, the start and end times t_(START),t_(END) could be set to arbitrary times, e.g., 6 A.M. and 6 P.M,respectively.

Next, the lighting hub 140 sets a variable time t_(VAR) equal to thestart time t_(START) at step 512 and determines a worst case façadeangle φ_(F-WC) at the variable time t_(VAR) to use when calculating theoptimal shade position P_(OPT)(t) at the variable time t_(VAR).Specifically, if the solar azimuth angle φ_(S) is within a façade angletolerance φ_(TOL) (e.g., approximately 3°) of the fixed façade angleφ_(F) at step 513 (i.e., if φ_(F)−φ_(TOL)−φ_(S)≦φ_(F)+φ_(TOL)), thelighting hub 140 sets the worst case façade angle φ_(F-WC) equal to thesolar azimuth angle φ_(S) of the façade 164 at step 514. If the solarazimuth angle φ_(S) is not within the façade angle tolerance φ_(TOL) ofthe façade angle φ_(F) at step 513, the lighting hub 140 then determinesif the façade angle φ_(F) plus the façade angle tolerance φ_(TOL) iscloser to the solar azimuth angle φ_(S) than the façade angle φ_(F)minus the façade angle tolerance φ_(TOL) at step 515. If so, thelighting hub 140 sets the worst case façade angle φ_(F-WC) equal to thefaçade angle φ_(F) plus the façade angle tolerance φ_(TOL) at step 516.If the façade angle φ_(F) plus the façade angle tolerance φ_(TOL) is notcloser to the solar azimuth angle φ_(S) than the façade angle φ_(F)minus the façade angle tolerance φ_(TOL) at step 515, the lighting hub140 sets the worst case façade angle φ_(F-WC) equal to the façade angleφ_(F) minus the façade angle tolerance φ_(TOL) at step 518.

At step 520, the lighting hub 140 uses Equations 1-12 shown above andthe worst case façade angle φ_(F-WC) to calculate the optimal shadeposition P_(OPT)(t_(VAR)) that is required in order to limit thesunlight penetration distance d_(PEN) to the desired maximum sunlightpenetration distance d_(MAX) at the variable time t_(VAR). At step 522,the lighting hub 140 stores in the memory the optimal shade positionP_(OPT)(t_(VAR)) determined in step 520. If the variable time t_(VAR) isnot equal to the end time t_(END) at step 524, the lighting hub 140increments the variable time t_(VAR) by one minute at step 526 anddetermines the worst case façade angle φ_(F-WC) and the optimal shadeposition P_(OPT)(t_(VAR)) for the new variable time t_(VAR) at step 520.When the variable time t_(VAR) is equal to the end time t_(END) at step524, the optimal shade position procedure 500 exits.

Thus, the lighting hub 140 generates the optimal shade positionsP_(OPT)(t) between the start time t_(START) and the end time t_(END) ofthe timeclock schedule using the optimal shade position procedure 500.FIG. 9A shows an example plot of optimal shade positions P_(OPT1)(t) ofthe motorized roller shades 104 on the west façade of the building 162on January 1, where the building is located at a longitude λ ofapproximately 75° W and a latitude Φ of approximately 40° N. FIG. 9Bshows an example plot of optimal shade positions P_(OPT2)(t) of themotorized roller shades 104 on the north façade of the same building 162on June 1. FIG. 9C shows an example plot of optimal shade positionsP_(OPT3)(t) of the motorized roller shades 104 on the south façade ofthe same building 162 on April 1.

FIG. 10 is a simplified flowchart of the timeclock event creationprocedure 600, which is executed by the lighting hub 140 in order togenerate the events of the timeclock schedule according to the secondembodiment of the present invention. Since the timeclock schedule issplit up into a number of consecutive time intervals, the timeclockevents of the timeclock schedule are spaced between the start timet_(START) and the end time t_(END) by multiples of the minimum timeperiod T_(MIN) between shade movements, which is selected by the user.During the timeclock event creation procedure 600, the lighting hub 140generates controlled shade positions P_(CNTL)(t), which comprise anumber of discrete events, i.e., step changes in the position of themotorized roller shades at the specific event times. The lighting hub140 uses the optimal shade positions P_(OPT)(t) from the optimal shadeposition procedure 500 to correctly determine the controlled shadepositions P_(CNTL)(t) of the events of the timeclock schedule. Theresulting timeclock schedule includes a number of events, which are eachcharacterized by an event time and a corresponding preset shadeposition. According to the second embodiment of the present invention,the timeclock events are spaced apart by periods of time that aremultiples of the minimum time period T_(MIN). The lighting hub 140 usesthe controlled shade positions P_(CNTL)(t) to adjust the position of themotorized roller shades 104 during execution of the timeclock schedule,i.e., between the start time t_(START) and the end time t_(END). At theend time t_(END), the lighting hub 140 controls the position of themotorized roller shades 104 to a nighttime position P_(NIGHT) (e.g., thefully-closed position P_(FC)) as will be described in greater detailbelow with reference to FIG. 12.

FIG. 11A shows an example plot of controlled shade positionsP_(CNTL1)(t) of the motorized roller shades 104 on the west façade ofthe building 162 on January 1 according to the second embodiment of thepresent invention. FIG. 11B shows an example plot of controlled shadepositions P_(CNTL2)(t) of the motorized roller shades 104 on the northfaçade of the building 162 on June 1 according to the second embodimentof the present invention. FIG. 11C shows an example plot of controlledshade positions P_(CNTL3)(t) of the motorized roller shades 104 on thesouth façade of the building 162 on April 1 according to the secondembodiment of the present invention.

The lighting hub 140 examines the values of the optimal shade positionsP_(OPT)(t) during each of the time intervals of the timeclock schedule(i.e., the time periods between two consecutive timeclock events) todetermine the lowest shade position P_(LOW) during each of the timeintervals. During the timeclock event creation procedure 600, thelighting hub 140 uses two variable times t_(V1), t_(V2) to define theendpoints of the time interval that the lighting hub is presentlyexamining The lighting hub 140 uses the variable times t_(V1), t_(V2) tosequentially step through the events of the timeclock schedule, whichare spaced apart by the minimum time period T_(MIN) according to thesecond embodiment of the present invention. The lowest shade positionsP_(LOW) during the respective time intervals becomes the controlledshade positions P_(CNTL)(t) of the timeclock events, which have eventtimes equal to the beginning of the respective time interval (i.e., thefirst variable time t_(V1)).

Referring to FIG. 10, the lighting hub 140 sets the first variable timet_(V1) equal to the start time t_(START) of the timeclock schedule atstep 610. The lighting hub 140 also initializes a previous shadeposition P_(PREV) to the nighttime position P_(NIGHT) at step 610. Ifthere is enough time left before the end time t_(END) for the presenttimeclock event (i.e., if the first variable time t_(V1) plus theminimum time period T_(MIN) is not greater than the end time t_(END)) atstep 612, the lighting hub 140 determines at step 614 if there is enoughtime for another timeclock event in the timeclock schedule after thepresent timeclock event. If the first variable time t_(V1) plus twotimes the minimum time period T_(MIN) is not greater than the end timet_(END) at step 614, the lighting hub 140 sets the second variable timet_(V2) equal to the first variable time t_(V1) plus the minimum timeperiod T_(MIN) at step 616, such that the lighting hub 140 will thenexamine the time interval between the first and second variable timest_(V1), t_(V2). If the first variable time t_(V1) plus two times theminimum time period T_(MIN) is greater than the end time t_(END) at step614, the lighting hub 140 sets the second variable time t_(V2) equal tothe end time t_(END) at step 618, such that the lighting hub 140 willthen examine the time interval between the first variable time t_(V1)and the end time t_(END).

At step 620, the lighting hub 140 determines the lowest shade positionP_(LOW) of the optimal shade positions P_(OPT)(t) during the presenttime interval (i.e., between the first variable time t_(V1) and thesecond variable time t_(V2) determined at steps 616 and 618). If, atstep 622, the previous shade position P_(PREV) is not equal to thelowest shade position P_(LOW) during the present time interval (asdetermined at step 620), the lighting hub 140 sets the controlledposition P_(CNTL(t) _(V1)) at the first variable time t_(V1) to be equalto the lowest shade position P_(LOW) of the optimal shade positionsP_(OPT)(t) during the present time interval at step 624. The lightinghub 140 then stores in memory a timeclock event having the event timet_(V1) and the corresponding controlled position P_(CNTL)(t_(V1)) atstep 626 and sets the previous shade position P_(PREV) equal to the newcontrolled position P_(CNTL)(t_(V1)) at step 628. If, at step 622, theprevious shade position P_(PREV) is equal to the lowest shade positionP_(LOW) during the present time interval, the lighting hub 140 does notcreate a timeclock event at the first variable time t_(V1). The lightinghub 140 then begins to examine the next time interval by setting thefirst variable time t_(V1) equal to the second variable time t_(V2) atstep 630. The timeclock event creation procedure 600 loops around suchthat the lighting hub 140 determines if there is enough time left beforethe end time t_(END) for the present timeclock event at step 612. If thefirst variable time t_(V1) plus the minimum time period T_(MIN) isgreater than the end time t_(END) at step 612, the lighting hub enablesthe timeclock schedule at step 632 and the timeclock event creationprocedure 600 exits.

FIG. 12 is a simplified flowchart of a timeclock schedule executionprocedure 700, which is executed by the lighting hub 140 periodically,e.g., every minute between the start time t_(START) and the end timet_(END) of the timeclock schedule. Since there may be multiple timeclockschedules for the motorized roller shades 104 controlled by each of thelighting hubs 140, each lighting hub may execute the timeclock scheduleexecution procedure 700 multiple times, e.g., once for each timeclockschedule. During the timeclock schedule execution procedure 700, thelighting hub 140 adjusts the positions of the motorized roller shades104 to the controlled positions P_(CNTL)(t) determined in the timeclockevent creation procedure 600.

In some cases, when the lighting hub 140 controls the motorized rollershades 104 to the fully-open positions P_(FO) (i.e., when there is nodirect sunlight incident on the façade 164), the amount of daylightentering the space 160 may be unacceptable to a user of the space.Therefore, the lighting hub 140 is operable to set the open-limitpositions of the motorized roller shades of one or more of the spaces160 or façades 164 of the building 162 to a visor position P_(VISOR),which is typically lower than the fully-open position P_(FO), but may beequal to the fully-open position. Thus, the visor position P_(VISOR)defines the highest position to which the motorized roller shades 104will be controlled during the timeclock schedule. The position of thevisor position P_(VISOR) may be entered using the GUI software of the PC150. In addition, the visor position P_(VISOR) may be enabled anddisabled for each of the spaces 160 or façades 164 of the building 162using the GUI software of the PC 150. Since two adjacent windows 166 ofthe building 162 may have different heights, the visor positionsP_(VISOR) of the two windows may be programmed using the GUI software,such that the hembars 174 of the shade fabrics 172 covering the adjacentwindow are aligned when the motorized roller shades 104 are controlledto the visor positions P_(VISOR).

Referring to FIG. 12, if the timeclock schedule is enabled at step 710,the lighting hub 140 determines the time t_(NEXT) of the next timeclockevent from the timeclock schedule at step 712. If the present timet_(PRES) is equal to the next event time t_(NEXT) at step 714 and thecontrolled position P_(CNTL)(t_(NEXT)) at the next event time t_(NEXT)is greater than or equal to the visor position P_(VISOR) at step 716,the lighting hub 140 adjusts the positions of the motorized rollershades 104 to the visor position P_(VISOR) at the next event timet_(NEXT) at step 718. Otherwise, the lighting hub 140 adjusts thepositions of the motorized roller shades 104 to the controlled positionP_(CNTL)(t_(NEXT)) at the next event time t_(NEXT) at step 720. Afteradjusting the positions of the motorized roller shades 104 at steps 718,720, after determining that there is not a timeclock event at thepresent time at step 714, or after determining that the timeclockschedule is not enabled at step 710, the lighting hub 140 makes adetermination as to whether the present time is equal to the end timet_(END) of the timeclock schedule at step 724. If not, the timeclockschedule execution procedure 700 simply exits. If the present time isequal to the end time t_(END) at step 724, the lighting hub 140 controlsthe motorized roller shades 104 to the nighttime position P_(NIGHT) atstep 726 and disables the timeclock schedule at step 728, before thetimeclock schedule execution procedure 700 exits.

The load control system 100 may also comprise a shade overridewallstation 134′ for allowing an occupant in the space 160 to manuallyadjust the positions of the motorized roller shades 104 and totemporarily override (i.e., disable) the execution of the timeclockschedule. FIG. 13 is an example front view of the shade overridewallstation 134′. The shade override wallstation 134′ comprises aplurality of “cloudy” buttons 810, e.g., one cloudy button for each ofthe four façades 164 of the building 162 (i.e., North, South, East, andWest). The shade override wallstation 134′ comprises, for each of thefour façades 164 of the building 162, a respective “glare” button 812,which is positioned adjacent the corresponding cloudy button 810. Theshade override wallstation 134′ is coupled to the shade communicationlink 132 for transmitting digital messages to the connected lighting hub140 in response to actuations of the cloudy buttons 810 and the glarebuttons 812.

The cloudy buttons 810 may be actuated by the occupant on a cloudy daywhen the chances of sun glare occurring are minimal in order to allowmore indirect daylight to enter the space 160. In response to anactuation of one of the cloudy buttons 810, the lighting hub 140controls each of the motorized roller shades 104 located on therespective façade 164 to the fully-open position P_(FO) (or the visorposition P_(VISOR)). The lighting hub 140 also temporarily disables thetimeclock schedule for the motorized roller shades 104 on the respectivefaçade 164 in response to actuations of the cloudy buttons 810. Thetimeclock schedule may be disabled, for example, until the end timet_(END) of the present timeclock schedule. Alternatively, the lightinghub 140 could disable the timeclock schedule for a predeterminedoverride time period T_(OVERRIDE), e.g., approximately two hours, inresponse to actuations of the cloudy buttons 810. The cloudy buttons 810each comprise a cloudy-override visual indicator 814, which isilluminated when the respective cloudy button is actuated to disable thetimeclock schedule and open the motorized window treatments 104 on therespective façade 164. If the timeclock schedule for one of the façades164 is disabled and the respective cloudy button 810 is actuated, thetimeclock schedule for the façade is enabled and the motorized rollershades 104 are adjusted so as to control the sunlight penetrationdistance d_(PEN) in the space 160 (as described above). If the timeclockschedule is disabled at the end time t_(END) of the present timeclockschedule, the timeclock schedule will be enabled when the timeclockconfiguration procedure 400 is next executed (e.g., at the beginning ofthe next day).

The glare buttons 812 may be actuated by the occupant when unexpectedsun glare is occurring in the space 160, for example, due to sunlightbeing reflected off of another surface and onto the façade 164. Inresponse to an actuation of one of the glare buttons 812, the lightinghub 140 controls the motorized roller shades 104 located on therespective façade 164 to the fully-closed positions P_(FC). The lightinghub 140 also temporarily disables the timeclock schedule in response toactuations of the glare buttons 812, for example, until the end timet_(END) of the present timeclock schedule or for the predeterminedoverride time period T_(OVERRIDE). The glare buttons 812 each comprise aglare-override visual indicator 816, which is illuminated when therespective glare button is actuated to disable the timeclock schedulefor the motorized window treatments 104 on the respective façade 164.The timeclock schedule is enabled again when the respective glare button812 is subsequently actuated or when the timeclock configurationprocedure 400 is next executed.

The shade override wallstation 134′ also comprises a raise overridebutton 818 and lower override button 820, which allow for manualadjustment of the positions of the motorized window treatments for whichthe timeclock schedules have been disabled. When the raise overridebutton 818 is actuated, the lighting hub 140 raises by a predeterminedamount the positions of the motorized roller shades 104 for which thetimeclock schedules have been disabled. When the lower override button820 is actuated, the lighting hub 140 lowers by the predetermined amountthe positions of the motorized roller shades 104 for which the timeclockschedules have been disabled. For example, if one of the glare buttons812 is actuated to fully close the motorized roller shades 104 on aspecific façade 164, the raise override button 818 may be actuated toslightly raise the motorized roller shades on the façade to allow somedaylight to enter the space 160.

FIG. 14 is a simplified flowchart of a received command procedure 900executed by the lighting hub 140 in response to receiving a digitalmessage from the shade override wallstation 134′ via the shadecommunication link 132 at step 910. The lighting hub 140 determines atstep 912 whether the received message includes a cloudy button command,which is transmitted in response to an actuation of one of the cloudybuttons 810 and includes information regarding which of the four façadesto which the actuated cloudy button is associated. If the receivedmessage includes a cloudy button command at step 912 and the timeclockschedule is enabled for the corresponding façade at step 914, thelighting hub 140 controls all of the motorized roller shades 104 of therespective façade to the fully-open positions P_(FO) (or the visorpositions P_(VISOR)) at step 916. The lighting hub 140 then disables thetimeclock schedule at step 918 and the received command procedure 900exits. If the timeclock schedule is disabled for the correspondingfaçade at step 914, the lighting hub 140 determines the event timet_(PREV) of the previous timeclock event at step 920 and adjusts thepositions of the motorized roller shades 104 of the respective façade tothe controlled position P_(CNTL)(t_(PREV)) at the previous event time atstep 922. The lighting hub 140 then enables the timeclock schedule onceagain at step 924 and the received command procedure 900 exits.

If the received message does not include a cloudy button command at step912, the lighting hub 104 determines at step 926 if the received messageincludes a glare button command, which is transmitted in response to anactuation of one of the glare buttons 812 and includes informationregarding which of the four facades to which the actuated glare buttonis associated. If the received message includes a glare button commandat step 926 and the timeclock schedule is enabled for the correspondingfaçade at step 928, the lighting hub 140 controls all of the motorizedroller shades 104 of the respective façade to the fully-closed positionsP_(FC) at step 930. The lighting hub 140 then disables the timeclockschedule at step 932 and the received command procedure 900 exits. Ifthe timeclock schedule is disabled for the corresponding façade at step928, the lighting hub 140 determines the event time t_(PREV) of theprevious timeclock event at step 934 and adjusts the positions of themotorized roller shades 104 of the respective façade to the controlledposition P_(CNTL)(t_(PREV)) at the previous event time at step 936. Thelighting hub 140 then enables the timeclock schedule once again at step938 and the received command procedure 900 exits.

If the received message does not include a glare button command at step926, but includes a raise override button command (from an actuation ofthe raise override button 818) at step 940, the lighting hub raises thepositions of the motorized roller shades 104 on the façades 164 havingdisabled timeclock schedules by the predetermined amount at step 942,and the received command procedure 900 exits. If the received messageincludes a lower override button command (from the lower override button820) at step 944, the lighting hub 140 lowers the positions of themotorized roller shades 104 on the façades 164 having disabled timeclockschedules by the predetermined amount at step 946, before the receivedcommand procedure 900 exits.

Alternatively, the lighting hubs 140 could receive shade overridedigital messages from sources other than the shade override wallstation134′. For example, the GUI software of the PC 150 could provide avirtual shade override wallstation having buttons that may be selectedby a user. The PC 150 could transmit a digital message to the lightinghubs 140 for overriding the execution of the timeclock schedules inresponse to the actuations of one of the buttons of the virtual shadeoverride wallstation of the GUI software. In addition, the lighting hubs140 could receive digital messages for overriding the execution of thetimeclock schedules from other control systems, such as a buildingmanagement system (BMS) coupled to the PC 150. Further, the lightinghubs 140 could override the execution of the timeclock schedules inresponse to digital messages received from other control devices of theload control system 100, for example, from a daylight sensor detecting acloudy condition or a glare condition.

Therefore, the lighting hub 140 controls the motorized roller shades 104according to the second embodiment of the present invention to limit thesunlight penetration distance d_(PEN,) while minimizing occupantdistractions, by adjusting the motorized roller shades 104 at times thatare spaced apart by multiples of the user-specified minimum time periodT_(MIN) between shade movements. Since the positions of all of themotorized roller shades 104 is the building 162 may only be adjusted atthese specific times (i.e., at the multiples of the user-specifiedminimum time period T_(MIN)), the motorized roller shades 104 will allmove at the same times during the timeclock schedule, thus minimizingoccupant distractions. Even adjustments of adjacent motorized rollershades 104 located on different façades 164 (for example, in a corneroffice) will move at the same times (i.e., at the multiples of theuser-specified minimum time period T_(MIN)). If the minimum time periodT_(MIN) between shade movements is chosen to be a logical time period(e.g., one hour), the users of the building will know when to expectmovements of the motorized roller shades 104, and thus will not be asdistracted by the shade movements as compared to shade movementsoccurring at random times. Alternatively, the GUI software of the PC 150could allow the user to select the specific event times of the timeclockevents (while ensuring that the minimum time period T_(MIN) existsbetween consecutive timeclock events) in order to conform the timeclockschedule to a predetermined time schedule. For example, the event timesof the timeclock schedule could be chosen according to a class scheduleat a school building, such that the motorized roller shades 104 onlymove between the periods of the class schedule.

Since the timeclock configuration procedure 400 of the second embodimentof the present invention only requires a small number of inputs in orderto automatically generate a timeclock schedule, the operation of themotorized roller shades 104 may be easily and quickly reconfigured usingthe GUI software of the PC 150. While the local longitude λ and latitudeΦ of the building 162, the façade angle φ_(F) for a specific façade 164of the building, the height h_(WIN) of the window 166 in a specificspace 160, and the height h_(WORK) of the table 168 in the specificspace of the building will not typically change after installation andconfiguration of the load control system 100, the user only needs toadjust the desired maximum sunlight penetration distance d_(MAX)and theminimum time period T_(MIN) between shade movements to adjust theoperation of the motorized window shades 104 in the space occupied bythe user. The GUI software of the PC 150 provides simple screens toallow for adjustment of the desired maximum sunlight penetrationdistance d_(MAX) and the minimum time period T_(MIN) between shademovements. After an adjustment of the desired maximum sunlightpenetration distance d_(MAX) and the minimum time period T_(MIN) betweenshade movements, the PC 150 will transmit the new operationalcharacteristics to the lighting hubs 140, and the lighting hubs willeach generate a new timeclock schedule using the timeclock configurationprocedure 400 and immediately begin operating based on the new timeclockschedule. The user can repetitively adjust the desired maximum sunlightpenetration distance d_(MAX) and the minimum time period T_(MIN) betweenshade movements (i.e., use an iterative process) over the course of afew days in order to achieve the desired operation of the motorizedroller shades 104 in the space.

According to the second embodiment of the present invention, themotorized roller shades 104 are controlled such that the hembars 174(FIG. 2) of all of the motorized roller shades on one of the façades 164of the building 162 are aligned (i.e., positioned at approximately thesame vertical position) at all times during the timeclock schedule.Since all of the motorized roller shades 104 on a façade 164 areadjusted at the same time, the lighting hub 140 will calculate the samecontrolled position P_(CNTL)(t) for all of the motorized roller shadeson the façade at a specific event time (assuming that all of themotorized roller shades are controlled to limit the sunlight penetrationdistance d_(PEN) to the same desired maximum sunlight penetrationdistance d_(MAX)). Therefore, the hembars 174 of the motorized rollershades 104 on a façade 164 will be aligned independent of differences inthe size, shape, or height of the windows 166 of the façade 164.

According to a third embodiment of the present invention, the lightinghub 140 generates a timeclock schedule in response to a maximum numberN_(MAX) of movements of the motorized roller shades 104 that may occurduring the present day, as well as in response to the minimum timeperiod T_(MIN) that may exist between any two consecutive movements ofthe motorized roller shades. As in the first two embodiments of thepresent invention, the timeclock schedule provides for control of themotorized roller shades 104 to limit the sunlight penetration distanced_(PEN) to be less than the desired maximum sunlight penetrationdistance d_(MAX). The desired maximum sunlight penetration distanced_(MAX), the maximum number N_(MAX) of roller shade movements, and theminimum time period T_(MIN) between shade movements may be stored in thememory in the lighting hub 140 and may be entered by a user using theGUI software of the PC. For example, the maximum number N_(MAX) ofroller shade movements may have a minimum value of approximately three.Accordingly, the user is able to control the maximum number N_(MAX) ofroller shade movements and the minimum time period T_(MIN) between shademovements in order to minimize distractions of an occupant in the space160 due to roller shade movements. The user may select different valuesfor the desired maximum sunlight penetration distance d_(MAX), themaximum number N_(MAX) of roller shade movements, and the minimum timeperiod T_(MIN) between shade movements for different areas and differentgroups of motorized roller shades 104 in the building 162.

FIG. 15 is a simplified flowchart of a timeclock configuration procedure1000 executed periodically by the lighting hub 140 of the load controlsystem 100 (e.g., once each day at midnight) according to the thirdembodiment of the present invention. The timclock configurationprocedure 1000 is executed to generate a timeclock schedule defining thedesired operation of the motorized roller shades 104 of each of thefaçades 164 of the building 162. During the timeclock configurationprocedure 1000, the lighting hub 140 first performs the optimal shadeposition procedure 500 for determining the optimal shade positionsP_(OPT)(t) of the motorized roller shades 104 in response to the desiredmaximum sunlight penetration distance d_(MAX) for each minute betweenthe start time t_(START) and the end time t_(END) of the present day (asdescribed above with reference to FIG. 8).

The lighting hub 140 then executes a timeclock event creation procedure1100 to generate the events of the timeclock schedule in response to theoptimal shade positions P_(OPT)(t), the maximum number N_(MAX) of rollershade movements, and the minimum time period T_(MIN) between shademovements according to the third embodiment of the present invention.Referring to FIGS. 9A-9C, the plots of the optimal shade positionsP_(OPT1)(t), P_(OPT2)(t), P_(OPT3)(t) each include a different number of“flat regions” 550 and “movement regions” 555. A flat region is definedas a portion of a plot of the optimal shade positions P_(OPT)(t) thatdoes not change in position for at least the minimum time periodT_(MIN). A movement region is defined as a portion of a plot of theoptimal shade positions P_(OPT)(t) during which the position changes(e.g., between two flat regions 550). The lighting hub 140 analyzes theflat regions and the movement regions of the plots of the optimal shadepositions P_(OPT1)(t), P_(OPT2)(t), P_(OPT3)(t) in order to determinethe event times of the timeclock schedule according to the thirdembodiment of the present invention. During the timeclock event creationprocedure 1100, the lighting hub 140 generates controlled shadepositions P_(CNTL)(t), which comprise a number of discrete changes inthe position of the motorized roller shades at the specific event timesas in the second embodiment of the present invention.

Referring back to FIG. 15, the lighting hub 140 concludes by executing atimeclock event optimization procedure 1200 to optimize the operation ofthe timeclock schedule by eliminating unnecessary timeclock events. Theevents of the resulting timeclock schedule may occur at any time betweenthe start time t_(START) and the end time t_(END) as long as twoconsecutive events do not occur within the minimum time period T_(MIN)and the number of timeclock events does not exceed the maximum numberN_(MAX) of roller shade movements. The controlled shade positionsP_(CNTL)(t) of the resulting timeclock schedule are used by the lightinghub 140 to adjust the position of the motorized roller shades during thetimeclock schedule execution procedure 700 (as shown in FIG. 12).

FIG. 18A shows an example plot of controlled shade positionsP_(CNTL4)(t) of the motorized roller shades 104 on the west façade ofthe building 162 on January 1 according to the third embodiment of thepresent invention. FIG. 18B shows an example plot of controlled shadepositions P_(CNTL5)(t) of the motorized roller shades 104 on the northfaçade of the building 162 on June 1 according to the third embodimentof the present invention. FIG. 18C shows an example plot of controlledshade positions P_(CNTL6)(t) of the motorized roller shades 104 on thesouth façade of the building 162 on April 1 according to the thirdembodiment of the present invention.

FIGS. 16A-16C are simplified flowcharts of the timeclock event creationprocedure 1100, which is executed by the lighting hub 140 in order togenerate the events of the timeclock schedule according to the thirdembodiment of the present invention. The lighting hub 140 first sets avariable N equal to the maximum number N_(MAX) of roller shade movementsat step 1110. The lighting hub 140 uses the variable N to keep track ofhow many more timeclock events may be generated without exceeding themaximum number N_(MAX). The lighting hub 140 determines the numberN_(FR) of flat regions of the optimal shade positions P_(OPT)(t) betweenthe start time t_(START) and the end time t_(END) at step 1112, and thengenerates timeclock events at the beginning of each of the flat regions.The lighting hub 140 begins by considering the first flat region at step1114, before determining the beginning time t_(FR1) and the end timet_(FR2) of the first flat region at step 1116 and determining theconstant shade position P_(FR) associated with the first flat region atstep 1118. If the first flat region does not begin less than the minimumtime period T_(MIN) after the start time t_(START) (i.e., ift_(FR1)−t_(START)≧T_(MIN)) at step 1120, the lighting hub 140 generatesan event at the beginning of the flat region at step 1122. Specifically,the lighting hub 140 sets the controlled shade positionP_(CNTL)(t_(FR1)) at the beginning time t_(FR1) of the first flat regionto be equal to the optimal shade position P_(OPT)(t_(FR1)) at thebeginning time t_(FR1) at step 1122 and decrements the variable N by oneat step 1124 (e.g., as shown at time t_(E1) in FIG. 18C).

If the first flat region begins less than the minimum time periodT_(MIN) after the start time t_(START) (i.e., ift_(FR1)−t_(START)<T_(MIN)) at step 1120, the lighting hub 140 determinesthe lowest shade position P_(LOW) of the optimal shade positionP_(OPT)(t_(START)) between the start time t_(START) of the timeclockschedule and the beginning time t_(FR1) of the flat region at step 1126.If the lowest shade position P_(LOW) is equal to the constant shadeposition P_(FR) of the flat region at step 1128 (i.e., if the plot ofthe optimal shade positions P_(OPT)(t) is moving downward at the starttime t_(START)), the lighting hub 140 sets the controlled shade positionP_(CNTL)(t_(START)) at the start time t_(START) of the timeclockschedule to be equal to the constant shade position P_(FR) of the flatregion at step 1130 and decrements the variable N by one at step 1132.If the lowest shade position P_(LOW) is not equal to the constant shadeposition P_(FR) of the flat region at step 1128 (i.e., if the plot ofthe optimal shade positions P_(OPT)(t) is moving upward at the starttime t_(START)), the lighting hub 140 sets the controlled shade positionP_(CNTL)(t_(START)) at the start time t_(START) of the timeclockschedule to be equal to the lowest shade position P_(LOW) at step 1134.If the present flat region is too small to create another timeclockevent before the end time t_(FR2) of the flat region (i.e., ift_(FR2)<t_(START)+2·T_(MIN)) at step 1135, the lighting hub 140 simplydecrements the variable N by one at step 1124.

However, if the present flat region is long enough to create anothertimeclock event before the end time t_(FR2) of the flat region (i.e., ift_(FR2)<t_(START)+2·_(MIN)) at step 1135, the lighting hub 140 sets thecontrolled shade position P_(CNTL)(t_(START)+T_(MIN)) to be equal to theconstant shade position P_(FR) of the flat region at a time that is theminimum time period T_(MIN) after the start time t_(START) (^(i.e.,)t_(START)+T_(MIN)) at step 1136, and decrements the variable N by two atstep 1138. After generating timeclock events at steps 1122, 1130, 1134,1136, the lighting hub 140 determines if there are more flat regions toconsider at step 1140. If so, the lighting hub 140 considers the nextflat region at step 1142, before determining the beginning time t_(FR1)of the next flat region at step 1116, determining the constant shadeposition P_(FR) associated with the next flat region at step 1118, andgenerating appropriate timeclock events at steps 1122, 1130, 1134, 1136.

Referring to FIG. 16B, if there are not more flat regions to consider atstep 1140, and the variable N is equal to zero at step 1144 (i.e., thenumber of events generated so far is equal to the maximum number N_(MAX)of roller shade movements), the lighting hub 140 determines if thereshould be one or more timeclock events during the movement regions(rather than those timeclock events created for the flat regions atsteps 1122, 1130, 1134, 1136). Specifically, the lighting hub 140considers the first lowering movement regions (i.e., a movement regionduring which the position of the motorized roller shade 104 is movingtowards 0%) at step 1146, and determines the start time t_(MR1) and theend time t_(MR2) of the first lowering movement region at step 1148.Next, the lighting hub 140 determines the lowest shade position P_(LOW)of the optimal shade positions P_(OPT)(t) during the present loweringmovement region (i.e., between the time t_(MR1) and the time t_(MR2)) atstep 1150. At step 1152, the lighting hub 140 then sets the controlledshade position P_(CNTL)(T_(MR1)) at the beginning time t_(MR1) of thepresent movement region to be equal to the lowest shade position P_(LOW)of the optimal shade positions P_(OPT)(t) during the present loweringmovement region as determined in step 1150 (e.g., as shown at timet_(E6) in FIG. 18A). If there are more lowering movement regions toconsider at step 1154, the lighting hub 140 considers the next loweringmovement region at step 1156, and the timeclock event creation procedure1100 loops around, to create a timeclock event for the next loweringmovement region. If there are not more lowering movement regions toconsider at step 1154, the timeclock event creation procedure 1100exits.

Referring to FIG. 16C, if the variable N is not equal to zero at step1144 (i.e., the number of events generated so far is greater than themaximum number N_(MAX) of roller shade movements), the lighting hub 140generates timeclock events during the movement regions of the optimalshade positions P_(OPT)(t). At step 1160, the lighting hub 140calculates the total combined length T_(TOTAL) of the movement regions.Next, the lighting hub 140 determines if the user-selected maximumnumber N_(MAX) of roller shade movements or the user-selected minimumtime period T_(MIN) between shade movements is the limiting factor fordetermining a movement time T_(MOVE,) which will exist between thetimeclock schedule events during the movement regions (e.g., as shown inFIG. 18B). Specifically, if the total combined length T_(TOTAL) of themovement regions divided by the variable N (i.e., the number ofremaining possible shade movements) is less than the minimum time periodT_(MIN) at step 1162, the minimum time period T_(MIN) is the limitingfactor and thus the lighting hub 140 sets the movement time T_(MOVE)equal to the minimum time period T_(MIN) at step 1164. If the totalcombined length T_(TOTAL) of the movement regions divided by thevariable N is not less than the minimum time period T_(MIN) at step1162, the number of remaining possible shade movements (i.e., thevariable N) is the limiting factor and thus the lighting hub 140 setsthe movement time T_(MOVE) equal to the total combined length T_(TOTAL)of the movement regions divided by the variable N at step 1166.

Next, the lighting hub 140 now generates timeclock events during themovement regions of the optimal shade positions P_(OPT)(t). The lightinghub 140 considers the first movement region at step 1168, determines thestart time t_(MR1) and the end time t_(MR2) of the first movement regionat step 1170, and sets a variable m to zero at step 1172. At step 1174,the lighting hub 140 considers a time segment that begins at a timet_(S1) and ends at a time t_(S2) as defined by:

t _(S1) =t _(MR1) +m·T _(MOVE); and  (Equation 13)

t _(S2) =t _(MR1)+(m+1)·T _(MOVE).  (Equation 14)

If the time t_(S2) of the present time segment is within the minimumtime period T_(MIN) of the end time t_(MR2) of the present movementregion at step 1176 (i.e., t_(MR2)−t_(S2)<T_(MIN)), a timeclock eventwill not be generated between the time t_(S2) of the present timesegment and the end time t_(MR2) of the present movement region.Therefore, the lighting hub 140 sets the time t_(S2) of the present timesegment equal to the end time t_(MR2) of the present movement region atstep 1178.

Next, the lighting hub 140 determines the lowest shade position P_(LOW)of the optimal shade positions P_(OPT)(t) during the present timesegment (i.e., between the time t_(S1) and the time t_(S2)) at step1180. At step 1182, the lighting hub 140 then sets the controlled shadeposition P_(CNTL)(t_(S1)) at the time t_(S1) to be equal to the lowestshade position P_(LOW) of the optimal shade positions P_(OPT)(t) duringthe present time segment as determined in step 1180 (e.g., as shown attime t_(E2) in FIG. 18B). If the time t_(S2) of the present time segmentis not equal to the end time t_(MR2) of the present movement region atstep 1184, the lighting hub 140 increments the variable m at step 1186,considers the next time segment at step 1174, and generates a newtimeclock event at step 1182. However, if the time t_(S2) of the presenttime segment is equal to the end time t_(MR2) of the present movementregion at step 1184 and there are more movement regions to consider atstep 1188, the lighting hub 140 considers the next movement region atstep 1190, and the timeclock event creation procedure 1100 loops around,such that the lighting hub 140 generates the timeclock events for thenext movement region. If there are not more movement regions to considerat step 1188, the timeclock event creation procedure 1100 exits.

FIG. 17 is a simplified flowchart of the timeclock event optimizationprocedure 700, which is executed by the lighting hub 140 in order tooptimize the operation of the timeclock schedule by eliminatingunnecessary timeclock events. If there is more than one event in thetimeclock schedule at step 1210, the lighting hub 140 first sets aprevious position variable P_(PREV) to be equal to the controlled shadeposition P_(CNTL)(t_(START)) at the start time t_(START) at step 1212.The lighting hub 140 then determines a next event time t_(NEXT) of thetimeclock schedule at step 1214, and sets a present position variableP_(PRES) equal to the controlled shade position P_(CNTL)(t_(NEXT)) atthe next event time t_(NEXT) at step 1216. If the present positionvariable P_(PRES) is within a minimum shade position distance ΔP_(MIN)(e.g., 5%) of the previous position variable P_(PREV) at step 1218, thelighting hub 140 eliminates the present event at time t_(NEXT) at step1220. For example, the events at times t_(E2) and t_(E6) of thecontrolled shade position P_(CNTL1)(t) in FIG. 18A would be eliminated.If the present position variable P_(PRES) is greater than the minimumshade position distance ΔP_(MIN) away from the previous positionvariable P_(PREV) at step 1218, the lighting hub 140 keeps the presentevent at time t_(NEXT) and sets the previous position variable P_(PREV)equal to the present position variable P_(PRES) at step 1222. If thereare more events in the timeclock schedule at step 1224, the lighting hub140 determines the next event time t_(NEXT) of the timeclock schedule atstep 1214, sets the present position variable P_(PRES) equal to thecontrolled shade position P_(CNTL)(t_(NEXT)) at the next event timet_(NEXT) at step 1216, before determining whether the present eventshould be eliminated at step 1218. If there are not more events in thetimeclock schedule at step 1224, the lighting hub 140 enables thetimeclock schedule at step 1226 and the timeclock event optimizationprocedure 1200 exits.

Alternatively, the lighting hub 140 may not generate a timeclockschedule prior to controlling the motorized roller shade 104 duringnormal operation in order to prevent the sunlight penetration distanced_(PEN) from exceeding the desired maximum sunlight penetration distanced_(MAX) while minimizing user distractions. According to a fourthembodiment of the present invention, the lighting hub 140 calculates thepositions to which to control the motorized roller shades 104“on-the-fly”, i.e., immediately before adjusting the positions of themotorized roller shades 104. The lighting hub 140 adjusts the positionsof the motorized roller shades 104 periodically, e.g., at times spacedapart by multiples of the minimum time period T_(MIN) that may existbetween any two consecutive movements of the motorized roller shades.Accordingly, the lighting hub 140 controls the positions of themotorized roller shades 104 to positions similar to the controlled shadepositions P_(CNTL1)(t), P_(CNTL2)(t), P_(CNTL3)(t) of the secondembodiment of the present invention (as shown in FIGS. 11A-11C).

FIG. 19 is a simplified flowchart of a shade control procedure 1300executed by the lighting hub 140 according to the fourth embodiment ofthe present invention. The shade control procedure 1300 is executedperiodically between a shade control start time t_(START) and a shadecontrol end time t_(END), such that movements of the motorized rollershades 104 are spaced apart by at least the user-specified minimum timeperiod T_(MIN) between shade movements. For example, if the shadecontrol start time t_(START) is 6 A.M., the shade control end timet_(END) is 6 P.M., and the minimum time period T_(MIN) between shademovements is one hour, the shade control procedure 1300 will be executedonce every hour on the hour between 6 A.M. and 6 P.M.

Referring to FIG. 19, the lighting hub 140 sets an interval start timet_(INT1) equal to the present time t_(PRES) at step 1310. If there ispresently not enough time for another move before the shade control endtime t_(END) (i.e., if the interval start time t_(INT1) plus the minimumtime period T_(MIN) between shade movements is greater than the shadecontrol end time t_(END)) at step 1312, the shade control procedure 1300simply exits. Otherwise, the lighting hub 140 determines an interval endtime t_(INT2) that represents the end of the next time interval overwhich the lighting hub will calculate the position to which themotorized roller shades should be controlled. Specifically, if there isenough room for another movement of the motorized roller shades 104after the present movement (i.e., if interval start time t_(INT1) plustwo times the minimum time period T_(MIN) between shade movements is notgreater than the shade control end time t_(END)) at step 1314, thelighting hub 140 sets the interval end time t_(INT2) equal to theinterval start time t_(INT1) plus the minimum time period T_(MIN)between shade movements at step 1316. If there is not enough room foranother movement of the motorized roller shades 104 after the presentmovement at step 1314, the lighting hub 140 sets the interval end timet_(INT2) equal to the shade control end time t_(END) at step 1318.

Next, the lighting hub 140 executes a position calculation procedure1400 (which will be described in greater detail below with reference toFIG. 20) in order to determine a controlled position P_(CNTL) foradjusting the positions of the motorized roller shades 104. If thecontrolled position P_(CNTL) is greater than or equal to the visorposition P_(VISOR) at step 1320, the lighting hub 140 sets thecontrolled position P_(CNTL) equal to the visor position P_(VISOR) atstep 1322. If the controlled position is equal to the present positionP_(PRES) at step 1324, the shade control procedure 1300 exits withoutadjusting the position of the motorized roller shades 104. If thecontrolled position P_(CNTL) is not equal to the present positionP_(PRES) at step 1324, the lighting hub 140 adjusts the positions of themotorized roller shades 104 to the controlled position P_(CNTL) at step1326 and sets the present position P_(PRES) equal to the controlledposition P_(CNTL) at step 1328, before the shade control procedure 1300exits.

FIG. 20 is a simplified flowchart of the position calculation procedure1400, which is executed periodically by the lighting hub 140 wheneverthe shade control procedure 1300 is executed, i.e., immediately beforethe lighting hub adjusts the positions of the motorized roller shades104. During the position calculation procedure 1400, the lighting hub140 calculates an optimal shade position P_(OPT) of the motorized rollershades 104 to limit the sunlight penetration distance d_(PEN) to thedesired maximum sunlight penetration distance d_(MAX) at each minuteduring the present time interval (i.e., between the interval start timet_(INT1) and the interval end time t_(INT2) determined during the shadecontrol procedure 1300). The lighting hub 140 sets the controlledposition P_(CNTL) equal to the lowest one of the calculated optimalshade positions P_(OPT). Referring to FIG. 20, the lighting hub 140first sets a controlled position P_(CNTL) to a default position, e.g.,the fully-open position P_(FO), at step 1410, and sets a variable timet_(VAR) equal to the interval start time t_(INT1) at step 1412.

Next, the lighting hub 140 determines the worst-case façade angleφ_(F-WC) to use to calculate an optimal position P_(OPT) of themotorized roller shades 104 at the variable time t_(VAR). The purpose ofusing the worst-case façade angle φ_(F-WC) is to account for human errorthat may occur when determining the façade angle φ_(F) of the façade164. Specifically, if the solar azimuth angle Os is within a façadeangle tolerance φ_(TOL) (e.g., approximately 3°) of the façade angleφ_(F) at step 1414 (i.e., if φ_(F)−φ_(TOL)≦φ_(S)≦φ_(F)+φ_(TOL)), thelighting hub 140 sets the worst case façade angle φ_(F-WC) equal to thesolar azimuth angle φ_(S) of the façade 164 at step 1416. If the solarazimuth angle φ_(S) is not within the façade angle tolerance φ_(TOL) ofthe façade angle φ_(F) at step 1414, the lighting hub 140 thendetermines if the façade angle φ_(F) plus the façade angle toleranceφ_(TOL) is closer to the solar azimuth angle φ_(S) than the façade angleφ_(F) minus the façade angle tolerance φ_(TOL) at step 1418. If so, thelighting hub 140 sets the worst case façade angle φ_(F-WC) equal to thefaçade angle φ_(F) plus the façade angle tolerance φ_(TOL) at step 1420.If the façade angle φ_(F) plus the façade angle tolerance φ_(TOL) is notcloser to the solar azimuth angle φ_(S) than the façade angle φ_(F)minus the façade angle tolerance φ_(TOL) at step 1418, the lighting hub140 sets the worst case façade angle φ_(F-WC) equal to the façade angleφ_(F) minus the façade angle tolerance φ_(TOL) at step 1422.

At step 1424, the lighting hub 140 uses Equations 1-12 shown above andthe worst case façade angle φ_(F-WC) to calculate the optimal shadeposition P_(OPT) that is required in order to limit the sunlightpenetration distance d_(PEN) to the desired maximum sunlight penetrationdistance d_(MAX) at the variable time t_(VAR). If the calculated optimalshade position P_(OPT) is less than the present value of the controlledposition P_(CNTL) at step 1426, the lighting hub 140 sets the controlledposition P_(CNTL) equal to the calculated optimal shade position P_(OPT)at step 1428. Otherwise, the lighting hub 140 does not adjust thepresent value of the controlled position P_(CNTL). If the variable timet_(VAR) is not equal to the interval end time t_(INT2) at step 1430, thelighting hub 140 increments the variable time t_(VAR) by one minute atstep 1432 and the position calculation procedure 1400 to determine theworst case façade angle φ_(F-WC) and to calculate the optimal shadeposition P_(OPT) at the new variable time t_(VAR). If the variable timet_(VAR) is equal to the interval end time t_(INT2) at step 1430,position calculation procedure 1400 exits.

While the present invention has been described with reference to themotorized window treatments 104, the concepts of the present inventioncould be applied to other types of motorized window treatments, such asmotorized draperies, roman shades, Venetian blinds, tensioned rollershade systems, and roller shade systems having pleated shade fabrics. Anexample of a motorized drapery system is described in greater detail incommonly-assigned U.S. Pat. No. 6,994,145, issued Feb. 7, 2006, entitledMOTORIZED DRAPERY PULL SYSTEM, the entire disclosure of which is herebyincorporated by reference. An example of a tensioned roller shade systemis described in greater detail in commonly-assigned U.S. patentapplication Ser. No. 12/061,802, filed Apr. 3, 2008, entitledSELF-CONTAINED TENSIONED ROLLER SHADE SYSTEM, the entire disclosure ofwhich is hereby incorporated by reference. An example of a roller shadesystem having a pleated shade fabric is described in greater detail incommonly-assigned U.S. patent application Ser. No. 12/430,458, filedApr. 27, 2009, entitled ROLLER SHADE SYSTEM HAVING A HEMBAR FOR PLEATINGA SHADE FABRIC, the entire disclosure of which is hereby incorporated byreference.

Although the present invention has been described in relation toparticular embodiments thereof, many other variations and modificationsand other uses will become apparent to those skilled in the art. It ispreferred, therefore, that the present invention be limited not by thespecific disclosure herein, but only by the appended claims.

1. A method of automatically controlling a position of a motorizedwindow treatment while minimizing occupant distractions, the motorizedwindow treatment adapted to control the amount of sunlight entering aspace of a building through a window located in a façade of thebuilding, the position of the window treatment controllable between anopen-limit position and a closed-limit position to control a sunlightpenetration distance within the space, the method comprising the stepsof: receiving a desired maximum sunlight penetration distance for thespace; building a timeclock schedule having a start time and an endtime, the timeclock schedule including a number of timeclock events thatwill occur between the start time and the end time; receiving a minimumtime period that may occur between any two consecutive timeclock events;determining, for each of the timeclock events, an event time between thestart time and the end time, such that at least the minimum time periodexists between the event times of any two consecutive timeclock events;determining a respective event position for each of the timeclock eventsto which the motorized window treatment will be controlled at therespective event time, such that the sunlight penetration distance doesnot exceed the desired maximum sunlight penetration distance for all ofthe events between the start time and the end time of the timeclockschedule; and automatically controlling the motorized window treatmentaccording to the timeclock schedule by adjusting the position of themotorized window treatment to the respective position of each of thetimeclock events at the respective event time.
 2. The method of claim 1,further comprising the step of: prior to the step of determining anevent time for each of the timeclock events, calculating optimalpositions of the motorized window treatment at a plurality of differenttimes between the start time and the end time, such that the sunlightpenetration distance will not exceed the desired maximum sunlightpenetration distance at the plurality of different times between thestart time and the end time.
 3. The method of claim 2, furthercomprising the step of: receiving a maximum number of movements that mayoccur during the timeclock schedule; wherein the number of timeclockevents of the timeclock schedule does not exceed the maximum number ofmovements, and at least the minimum time period exists between the eventtimes of any two consecutive timeclock events.
 4. The method of claim 3,further comprising the step of: identifying at least one flat region ofthe optimal positions of the motorized window treatment during which theoptimal positions do not change in value for at least the minimum timeperiod that may occur between any two consecutive timeclock events, theflat region characterized by a beginning time and a constant position.5. The method of claim 4, further comprising the steps of: identifying amovement region of the optimal positions of the motorized windowtreatment during which the optimal positions change in value; anddetermining whether the maximum number of movements that may occurduring the timeclock schedule, and the minimum time period that mayoccur between any two consecutive timeclock events is the limitingfactor in determining a movement time period that may occur between theevent times of any two consecutive timeclock events during the movementregion.
 6. The method of claim 5, further comprising the step of:creating multiple timeclock events having respective event times thatare spaced apart by at least the movement time period during themovement region.
 7. The method of claim 6, wherein the timeclock eventshave corresponding event positions that are equal to the lowest positionof the optimal positions of the motorized window treatment during themovement time period after the respective event time.
 8. The method ofclaim 5, further comprising the step of: creating a timeclock eventhaving an event time approximately equal to the beginning time of themovement region and a corresponding event position equal to the lowestposition of the optimal positions of the motorized window treatmentduring the movement time period after the beginning time of the movementregion.
 9. The method of claim 4, further comprising the step of:creating a timeclock event having an event time approximately equal tothe beginning time of the flat region and a corresponding event positionequal to the constant magnitude of the flat region.
 10. The method ofclaim 3, further comprising the steps of: determining if the respectiveevent positions of two consecutive timeclock events are within a minimumposition distance of each other; and eliminating the second of the twoconsecutive timeclock events if the event positions of the twoconsecutive timeclock events are within the minimum position distance ofeach other.
 11. The method of claim 2, further comprising the step of:creating multiple timeclock events between the start time and the endtime of the timeclock schedule, each of the timeclock events havingrespective event times that are spaced apart from each other bymultiples of the minimum time period that may occur between any twoconsecutive timeclock events.
 12. The method of claim 11, wherein thestep of determining a respective event position for each of thetimeclock events to which the motorized window treatment will becontrolled further comprises determining a lowest position of thecalculated optimal positions of the motorized window treatment betweentwo consecutive event times.
 13. The method of claim 12, wherein thestep of determining a respective event position for each of thetimeclock events to which the motorized window treatment will becontrolled further comprises, for the timeclock event having an eventtime equal to the first of the two consecutive event times, setting theevent position of the timeclock event equal to the lowest position ofthe calculated optimal positions of the motorized window treatmentbetween the two consecutive event times.
 14. The method of claim 2,wherein the step of determining an event time for each of the timeclockevents further comprises determining the event times of the timeclockevents in response to the optimal positions of the motorized windowtreatment at the plurality of different times between the start time andthe end time.
 15. The method of claim 2, wherein the step of calculatingoptimal positions of the motorized window treatment further comprisescalculating optimal positions of the motorized window treatment as afunction of the longitude and latitude of the location of the building,an angle of the façade with respect to true north, a height of thewindow, and the present date and time.
 16. The method of claim 2,wherein the step of calculating optimal positions of the motorizedwindow treatment further comprises calculating optimal positions of themotorized window treatment for each minute between the start time andthe end time.
 17. The method of claim 2, wherein the open-limit positioncomprises a fully-open position, and the closed-limit position comprisesa fully-closed position.
 18. The method of claim 2, wherein theopen-limit position comprises a visor position.
 19. A method ofautomatically controlling a position of a motorized window treatmentwhile minimizing occupant distractions, the motorized window treatmentadapted to control the amount of sunlight entering a space of a buildingthrough a window located in a façade of the building, the position ofthe window treatment controllable between an open-limit position and aclosed-limit position to control a sunlight penetration distance withinthe space, the method comprising the steps of: receiving a desiredmaximum sunlight penetration distance for the space; receiving a minimumtime period that may occur between any two consecutive window treatmentmovements; calculating a controlled position to which the motorizedwindow treatment should be controlled during each of a plurality ofconsecutive time intervals, such that the sunlight penetration distancedoes not exceed the desired maximum sunlight penetration distance duringeach of the respective time intervals, the time intervals having lengthsgreater than or equal to the minimum time period that may occur betweenany two consecutive window treatment movements; and automaticallyadjusting the position of the motorized window treatment to thecalculated position at the beginning of each time interval, such thatthe sunlight penetration distance does not exceed the desired maximumsunlight penetration distance during each of the respective timeintervals, and the movements of the shades are spaced apart by at leastthe minimum time period that may occur between any two consecutivewindow treatment movements.
 20. The method of claim 19, furthercomprising the step of: building a timeclock schedule having a starttime and an end time, the timeclock schedule including a number oftimeclock events that will occur between the start time and the endtime, the timeclock events each having an event time corresponding tothe beginning of one of the time intervals, the timeclock events eachhaving a respective event position corresponding to the respectivecontrolled position of the respective time interval; wherein the step ofautomatically adjusting the position of the motorized window treatmentto the calculated position at the beginning of each time intervalcomprises automatically controlling the motorized window treatmentaccording to the timeclock schedule by adjusting the position of themotorized window treatment to the respective position of each of thetimeclock events at the respective event time.
 21. The method of claim20, further comprising the step of: calculating optimal positions of themotorized window treatment at a plurality of different times between thestart time and the end time prior to the step of determining an eventtime for each of the timeclock events.
 22. The method of claim 21,wherein the step of building a timeclock schedule further comprisesreceiving a maximum number of movements that may occur during thetimeclock schedule, the time intervals having lengths such that thenumber of timeclock events of the timeclock schedule does not exceed themaximum number of movements, and at least the minimum time period existsbetween the event times of any two consecutive timeclock events.
 23. Themethod of claim 22, wherein at least one of the time intervals comprisesa flat region of the optimal positions of the motorized window treatmentduring which the optimal positions do not change in value for at leastthe minimum time period that may occur between any two consecutivewindow treatment movements, the flat region characterized by a beginningtime and a constant position.
 24. The method of claim 23, wherein thestep of building a timeclock schedule further comprises the steps ofidentifying a movement region of the optimal positions of the motorizedwindow treatment during which the optimal positions change in value, andcreating multiple timeclock events having respective event times thatare spaced apart by at least the minimum time period that may occurbetween any two consecutive window treatment movements.
 25. The methodof claim 22, wherein the step of building a timeclock schedule furthercomprises the steps of determining if the respective event positions oftwo consecutive timeclock events are within a minimum position distanceof each other, and eliminating the second of the two consecutivetimeclock events if the event positions of the two consecutive timeclockevents are within the minimum position distance of each other.
 26. Themethod of claim 21, wherein the step of building a timeclock schedulefurther comprises creating multiple timeclock events between the starttime and the end time of the timeclock schedule, each of the timeclockevents having respective event times that are spaced apart from eachother by multiples of the minimum time period that may occur between anytwo consecutive timeclock events.
 27. The method of claim 26, whereinthe step of building a timeclock schedule further comprises determininga lowest position of the calculated optimal positions of the motorizedwindow treatment between two consecutive event times.
 28. The method ofclaim 27, wherein the step of building a timeclock schedule furthercomprises, for the timeclock event having an event time equal to thefirst of the two consecutive event times, setting the event position ofthe timeclock event equal to the lowest position of the calculatedoptimal positions of the motorized window treatment between the twoconsecutive event times.
 29. The method of claim 21, wherein the step ofcalculating optimal positions of the motorized window treatment furthercomprises calculating optimal positions of the motorized windowtreatment as a function of the longitude and latitude of the location ofthe building, an angle of the façade with respect to true north, aheight of the window, and the present date and time.
 30. The method ofclaim 19, wherein the step of calculating a controlled position to whichthe motorized window treatment should be controlled during each of aplurality of consecutive time intervals further comprises calculatingoptimal positions of the motorized window treatment at a plurality ofdifferent times during one of the time intervals, such that the sunlightpenetration distance does not exceed the desired maximum sunlightpenetration distance during the one of the time intervals.
 31. Themethod of claim 30, wherein the step of calculating a controlledposition to which the motorized window treatment should be controlledduring each of a plurality of consecutive time intervals furthercomprises determining a lowest position of the calculated optimalpositions of the motorized window treatment during the one of the timeintervals.
 32. The method of claim 31, wherein the step of automaticallyadjusting the position of the motorized window treatment to thecalculated position at the beginning of each time interval furthercomprises adjusting the position of the motorized window treatment atthe beginning of the one of the time intervals to the lowest position ofthe calculated optimal positions of the motorized window treatmentduring the one of the time intervals.
 33. A load control systemcomprising a motorized window treatment adapted to control the amount ofsunlight entering a space of a building through a window located in afaçade of the building, the position of the window treatmentcontrollable between an open-limit position and a closed-limit positionto control a sunlight penetration distance within the space, the loadcontrol system comprising: a central controller operatively coupled tothe motorized window treatment, the central controller operable totransmit digital commands to the motorized window treatment, thecontroller further operable to receive a desired maximum sunlightpenetration distance and a minimum time period that may occur betweenany two consecutive window treatment movements; calculate a controlledposition to which the motorized window treatment should be controlledduring each of a plurality of consecutive time intervals, such that thesunlight penetration distance does not exceed the desired maximumsunlight penetration distance during each of the respective timeintervals, the time intervals having lengths greater than or equal tothe minimum time period that may occur between any two consecutivewindow treatment movements; and automatically adjust the position of themotorized window treatment to the calculated position at the beginningof each time interval, such that the sunlight penetration distance doesnot exceed the desired maximum sunlight penetration distance during eachof the respective time intervals, and the movements of the shades arespaced apart by at least the minimum time period that may occur betweenany two consecutive window treatment movements.
 34. The load controlsystem of claim 33, further comprising: an override wallstationcomprises at least one actuator, the wallstation operable to transmitdigital messages to the controller, such that the controller adjusts theposition of the motorized window treatment in response to an actuationof the actuator.
 35. The load control system of claim 34, wherein thecontroller is operable to build a timeclock schedule having a start timeand an end time, the timeclock schedule including a number of timeclockevents that will occur between the start time and the end time, thetimeclock events each having an event time corresponding to thebeginning of one of the time intervals, the timeclock events each havinga respective event position corresponding to the respective controlledposition of the respective time interval, the controller operable toautomatically adjust the position of the motorized window treatment tothe calculated position at the beginning of each time interval comprisesautomatically controlling the motorized window treatment according tothe timeclock schedule by adjusting the position of the motorized windowtreatment to the respective position of each of the timeclock events atthe respective event time.
 36. The load control system of claim 35,wherein the controller is operable to disable the timeclock schedule inresponse to an actuation of the actuator.
 37. The load control system ofclaim 34, wherein the controller is operable to move the motorizedwindow treatment to the open-limit position in response to an actuationof the actuator.
 38. The load control system of claim 34, wherein thecontroller is operable to move the motorized window treatment to theclosed-limit position in response to an actuation of the actuator. 39.The load control system of claim 33, wherein the controller is operableto calculate optimal positions of the motorized window treatment at aplurality of different times during one of the time intervals, such thatthe sunlight penetration distance will not exceed the desired maximumsunlight penetration distance during the one of the time intervals. 40.The load control system of claim 39, wherein the controller is operableto determine a lowest position of the calculated optimal positions ofthe motorized window treatment during the one of the time intervals. 41.The load control system of claim 40, wherein the controller is operableto adjust the position of the motorized window treatment at thebeginning of the one of the time intervals to the lowest position of thecalculated optimal positions of the motorized window treatment duringthe one of the time intervals.
 42. The load control system of claim 33,wherein the open-limit position comprises a fully-open position, and theclosed-limit position comprises a fully-closed position.
 43. The loadcontrol system of claim 33, wherein the open-limit position comprises avisor position.
 44. A method of automatically controlling a position ofa motorized window treatment while minimizing occupant distractions, themotorized window treatment adapted to control the amount of sunlightentering a space of a building through a window located in a façade ofthe building, the position of the window treatment controllable betweena fully-open position and a fully-closed position to control a sunlightpenetration distance within the space, the method comprising the stepsof: receiving a desired maximum sunlight penetration distance for thespace; building a timeclock schedule having a start time and an endtime, the timeclock schedule including a number of timeclock events thatwill occur between the start time and the end time; receiving a maximumnumber of movements that may occur during the timeclock schedule, and aminimum time period that may occur between any two consecutive timeclockevents; determining, for each of the timeclock events, an event timebetween the start time and the end time, such that the number oftimeclock events of the timeclock schedule does not exceed the maximumnumber of movements, and at least the minimum time period exists betweenthe event times of any two consecutive timeclock events; determining arespective event position for each of the timeclock events to which themotorized window treatment will be controlled at the respective eventtime, such that the sunlight penetration distance does not exceed thedesired maximum sunlight penetration distance between the start time andthe end time of the timeclock schedule; and automatically controllingthe motorized window treatment according to the timeclock schedule byadjusting the position of the motorized window treatment to therespective position of each of the timeclock events at the respectiveevent time.
 45. The method of claim 44, further comprising the step of:calculating optimal positions of the motorized window treatment at aplurality of different times between the start time and the end timeprior to the step of determining an event time for each of the timeclockevents.
 46. The method of claim 45, further comprising the step of:identifying at least one flat region of the optimal positions of themotorized window treatment during which the optimal positions do notchange in value for at least the minimum time period that may occurbetween any two consecutive timeclock events, the flat regioncharacterized by a beginning time and a constant position.
 47. Themethod of claim 46, further comprising the steps of: identifying amovement region of the optimal positions of the motorized windowtreatment during which the optimal positions change in value; anddetermining whether the maximum number of movements that may occurduring the timeclock schedule, and the minimum time period that mayoccur between any two consecutive timeclock events is the limitingfactor in determining a movement time period that may occur between theevent times of any two consecutive timeclock events during the movementregion.
 48. The method of claim 47, further comprising the step of:creating multiple timeclock events having respective event times thatare spaced apart by at least the movement time period; wherein thetimeclock events have corresponding event positions that are equal tothe lowest position of the optimal positions of the motorized windowtreatment during the movement time period after the respective eventtime.
 49. The method of claim 47, further comprising the step of:creating a timeclock event having an event time approximately equal tothe beginning time of the movement region and a corresponding eventposition equal to the lowest position of the optimal positions of themotorized window treatment during the movement time period after thebeginning time of the movement region.
 50. The method of claim 46,further comprising the step of: creating a timeclock event having anevent time approximately equal to the beginning time of the flat regionand a corresponding event position equal to the constant magnitude ofthe flat region.
 51. The method of claim 46, further comprising thesteps of: identifying at least two movement regions of the optimalpositions of the motorized window treatment during which the optimalpositions change in value; and determining whether the maximum number ofmovements that may occur during the timeclock schedule, and the minimumtime period that may occur between any two consecutive timeclock eventsis the limiting factor in determining a movement time period that mayoccur between the event times of any two consecutive timeclock eventsduring the movement regions.
 52. The method of claim 45, wherein thestep of calculating optimal positions of the motorized window treatmentfurther comprises calculating optimal positions of the motorized windowtreatment as a function of the longitude and latitude of the location ofthe building, an angle
 53. The method of claim 44, further comprisingthe steps of: determining if the respective event positions of twoconsecutive timeclock events are within a minimum position distance ofeach other; and eliminating the second of the two consecutive timeclockevents if the event positions of the two consecutive timeclock eventsare within the minimum position distance of each other.
 54. A method ofautomatically controlling a position of a motorized window treatmentwhile minimizing occupant distractions, the motorized window treatmentadapted to control the amount of sunlight entering a space of a buildingthrough a window located in a façade of the building, the position ofthe window treatment controllable between an open-limit position and aclosed-limit position to control a sunlight penetration distance withinthe space, the method comprising the steps of: receiving a desiredmaximum sunlight penetration distance; building a timeclock scheduleincluding a number of timeclock events, the timeclock schedule having astart time and an end time, each timeclock event being characterized byan event time between the start time and the end time, the number oftimeclock events not exceeding a maximum number of movements that mayoccur between the start time and the end time; calculating a respectiveposition for each of the timeclock events to which the motorized windowtreatment will be controlled at the respective event time, such thesunlight penetration distance does not exceed the desired maximumsunlight penetration distance between the start time and the end time ofthe timeclock schedule; and automatically controlling the motorizedwindow treatment according to the timeclock schedule by adjusting theposition of the motorized window treatment to the respective position ofeach of the timeclock events at the respective event time.
 55. A methodof automatically controlling a position of a motorized window treatmentwhile minimizing occupant distractions, the motorized window treatmentadapted to control the amount of sunlight entering a space of a buildingthrough a window located in a façade of the building, the position ofthe window treatment controllable between an open-limit position and aclosed-limit position to control a sunlight penetration distance withinthe space, the method comprising the steps of: receiving a desiredmaximum sunlight penetration distance; building a timeclock scheduleincluding a number of timeclock events, the timeclock schedule having astart time and an end time, each timeclock event being characterized byan event time between the start time and the end time, wherein at leasta minimum time period exists between the event times of any twoconsecutive timeclock events; calculating a respective position for eachof the timeclock events to which the motorized window treatment will becontrolled at the respective event time, such the sunlight penetrationdistance does not exceed the desired maximum sunlight penetrationdistance between the start time and the end time of the timeclockschedule; and automatically controlling the motorized window treatmentaccording to the timeclock schedule by adjusting the position of themotorized window treatment to the respective position of each of thetimeclock events at the respective event time.
 56. A method ofautomatically controlling a position of a motorized window treatmentwhile minimizing occupant distractions, the motorized window treatmentadapted to control the amount of sunlight entering a space of a buildingthrough a window located in a façade of the building, the position ofthe window treatment controllable between a fully-open position and afully-closed position to control a sunlight penetration distance withinthe space, the method comprising the steps of: receiving a desiredmaximum sunlight penetration distance; determining a first time at whichto open the motorized window treatment during a 24-hour period and asecond time at which to close the motorized window treatment during the24-hour period, such the sunlight penetration distance does not exceedthe desired maximum sunlight penetration distance; automatically openingthe window treatment at the first time; and automatically closing thewindow treatment at the second time.
 57. The method of claim 56, whereinthe step of automatically closing the window treatment at the secondtime further comprises controlling the motorized window treatment to thefully-closed position.
 58. The method of claim 57, wherein the step ofautomatically opening the window treatment at the first time furthercomprises controlling the motorized window treatment to the fully-openposition.
 59. The method of claim 56, wherein the step of determining afirst time and a second time further comprises calculating the first andsecond times as a function of the longitude and latitude of the locationof the building, an angle of the façade with respect to true north, aheight of the window, and the present date.
 60. The method of claim 56,wherein the building comprises a plurality of façades having a pluralityof motorized window treatment, the method further comprising the stepof: repeating the steps of determining a first time and a second time,automatically opening the window treatment at the first time, andautomatically closing the window treatment at the second time for eachof the façades.
 61. The method of claim 56, further comprising the stepof: operating an astronomical timeclock; wherein the steps ofautomatically opening the window treatment at the first time, andautomatically closing the window treatment at the second time areexecuted in response to the astronomical timeclock.